package com.aslam.zeshan.syncnotes; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.MenuItem; import android.view.WindowManager; import android.widget.TextView; import com.aslam.zeshan.syncnotes.Adapter.NoteListHandler; import com.aslam.zeshan.syncnotes.Database.NotesDatabase; import com.aslam.zeshan.syncnotes.Util.SettingsManager; import com.parse.ParseException; import com.parse.SaveCallback; import java.util.UUID; public class NoteActivity extends ActionBarActivity { Note note = new Note(); Context con; String ID = null; TextView title; TextView body; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_note); con = this; title = (TextView) findViewById(R.id.noteTitle); body = (TextView) findViewById(R.id.noteBody); Intent intent = getIntent(); if (!intent.getBooleanExtra("newNote", true)) { ID = intent.getStringExtra("ID"); note = new NotesDatabase(con).getNoteByID(ID); title.setText(note.getTitle()); body.setText(note.getBody()); } if (ID == null) { ID = String.valueOf(UUID.randomUUID()); } // Show back button getSupportActionBar().setDisplayHomeAsUpEnabled(true); getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: saveData(); System.out.println("SAVING 1"); Intent intent = new Intent(con, MainActivity.class); con.startActivity(intent); return true; default: return super.onOptionsItemSelected(item); } } @Override public void onPause() { saveData(); super.onPause(); } @Override public void onDestroy() { super.onDestroy(); } private void saveData() { // Save to parse note.setID(ID); note.setOwner(new SettingsManager(con).getString("ID")); note.setTitle(title.getText().toString()); note.setBody(body.getText().toString()); note.saveEventually(); note.saveInBackground(new SaveCallback() { @Override public void done(ParseException e) { if (e == null) { // Save to client database NotesDatabase notesDatabase = new NotesDatabase(con); if (notesDatabase.contains(ID)) { notesDatabase.update(ID, title.getText().toString(), body.getText().toString()); Note updateNote = NoteListHandler.emailsArrayAdapater.getByID(ID); updateNote.setTitle(title.getText().toString()); updateNote.setBody(body.getText().toString()); } else { notesDatabase.addNote(ID, note.getObjectId(), title.getText().toString(), body.getText().toString()); NoteListHandler noteListHandler = new NoteListHandler(con); noteListHandler.add(note); } NoteListHandler.emailsArrayAdapater.notifyDataSetChanged(); } } }); } }